1. Field of the Invention
The present invention relates to technology for processing an information set having one or more information elements, and more specifically, to technology for processing an I/O request received from an external device in accordance with a protocol such as an ESCON or FICON, or the like, for example.
2. Description of the Related Art
The information set having one or more information element may be, for example, a command element set having one or more command element which may be a command or data. A concrete example is a command element set exchanged under the ESCON (Enterprise Systems Connection) communications protocol, which is known as a CCW chain.
A CCW chain, for example, is an I/O request issued by a host to a storage system, in a case where an host and a storage system comprising a data storage device and a storage control device for same (for example, a RAID (Redundant Array of Independent Inexpensive Disks) system) are connected on the basis of the ESCON protocol.
The I/O request may contain a read command for reading data from a data storage device, for example, (in other words, a read request), or it may contain a write command for writing data to a data storage device (in other words, a write command). The storage control device in the storage system has a cache memory, and reading and writing of data between the host and the data storage device is carried out via this cache memory. More specifically, for example, when the memory control device has received a read request from the host, then if the read request data which is required by the read request is present in the cache memory (in the event of a “cache hit”), then this read request data is sent to the host, whereas if it is not present in the cache memory (in the event of a “cache miss”), then processing is carried out for accessing the data storage device, reading out the read request data, and storing same in the cache memory (hereinafter, this is called a “staging process”), whereupon the read request data is then sent to the host. Moreover, when the storage control device has received a write request, if the target data is present in the cache memory corresponding to this write request (if there is a “cache hit”), then the write request data according to that write request is overwritten to that cache memory region, whereupon the data is stored in the data storage device, whereas if the target data is not present in the cache memory region (if there is a “cache miss”), then staging processing is carried out for accessing the data storage device, reading the target data and storing same in the cache memory region, whereupon the write request data is overwritten to the aforementioned region of the cache memory, and the overwritten data is then sent to the data storage device.
Upon completing a series of processes in response to the I/O request, the memory control device sends a completion notification indicating that this processing has been completed, to the host, in accordance with the ESCON protocol.
One aspect used to evaluate the performance of a storage control device of this kind is the length of time it takes for the host to receive this completion notification, after it has issued an I/O request (hereinafter, this is referred to as the “I/O response time”.) Usually, it is assumed that the shorter the I/O response time, the better the performance of the storage control device. The I/O response time for any one I/O request is generally longer in the case of a cache miss than in the case of a cache hit. This is because the time taken to access the data storage device, typically, a magnetic disk, is longer than the time taken to access the cache memory.
Technology aimed at reducing this response time includes, for example, that disclosed in Reference Patent 1 (Japanese Patent Laid-open No. 2002-140233). According to this technology, for example, of a plurality of I/O requests received from an host, the storage control device carries out data transfer to the host in respect of those I/O requests which produce “hits” in the cache, and executes parallel processing for reading corresponding data from the data storage device to the cache memory, and then transferring this data to the host, in respect of I/O requests which produce “misses” in the cache. As a result, the completion notification sequence sent by the memory control device to the host in respect of processing a plurality of I/O requests, may be different from the sequence in which the I/O requests were received from the host.